package org.example;

import javax.swing.*;
import java.awt.image.BufferedImage;
/**
 * The ImageDisplay 类继承自 JFrame，用于实时显示图像。
 * 该类封装了通过图形用户界面更新和显示图像的功能。
 */
public class ImageDisplay extends JFrame{
    // 用于显示图像的标签
    private JLabel imageLabel;

    /**
     * 构造方法，初始化窗口设置。
     * 设置窗口标题、大小和关闭操作，并添加一个空标签以备后续显示图像。
     */
    public ImageDisplay() {
        setTitle("实时图像显示");
        setSize(800, 600);
        setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        imageLabel = new JLabel();
        add(imageLabel);
        setVisible(true);
    }

    /**
     * 更新标签上显示的图像。
     * 该方法接收一个 BufferedImage 对象，将其转换为 ImageIcon，然后设置为 JLabel 的图标，以实现更新显示图像的效果。
     *
     * @param image 要显示的 BufferedImage 对象。
     */
    public void updateImage(BufferedImage image) {
        imageLabel.setIcon(new ImageIcon(image));
    }
}
